The present invention relates generally to a data storage device and more specifically to a method for transferring data between a recordable medium of the data storage device and a host computer.
In a disc drive, data are stored on one or more discs coated with a magnetizable medium. Data are written to the discs by an array of transducers, typically referred to as read/write heads, mounted to a radial actuator for movement of the heads relative to the discs. The data are stored on a plurality of concentric circular tracks on the discs until such time that the data are read from the discs by the read/write heads. Each of the concentric tracks is generally divided into a plurality of separately addressable data sectors. The transducers are used to transfer data between a desired track and an external environment, which includes, among many components, a host computer.
During a write operation, data are written onto the disc track. Once data are written to the disc, each sector holds a block of data, which is the absolute smallest quantity that can be written to the disc during a single write operation. Adjacent blocks, commonly referred to as a data segment, are typically written to and read from the disc during a single write operation referred to as a command. Critical to both of these operationsxe2x80x94reading and writingxe2x80x94is the accurate locating of a transducer over the center of the desired track. During a read operation, a transducer senses the data previously written on the track and transfers the data to the external environment.
The transfer of files between a disc and a host computer is controlled in a multi-level setting characterized by a bi-level transfer scheme. At a macroscopic level, track sectors are selected that contain the data blocks of the data segments into which the file is divided. More specifically, and in a microscopic sense, cells along a track are magnetized to correspond to the bit structure of the file for the purposes of subsequent reading. A disc drive typically includes a buffer to implement this bi-level transfer scheme. The purpose of the buffer is to accept the blocks of data during transfer between the host computer and the disc and then transfer the data to the proper componentxe2x80x94either the host computer or the disc.
One factor to consider in designing disc drives is read latency. Read latency is the time that it takes to write data to and read data from the discs of the disc drive. Disc drive designers are continuously trying to minimize read latency. Pursuant to most read commands issued from a host computer, a transducer reads data stored on multiple tracks of a disc. The transducer executes the read command by reading a target area on each of the multiple tracks. A target area is a group of data sectors on each track that stores a data segment requested by the read command.
As the transducer arrives on a track to access the first sector of the target area, the transducer may actually land on the track at a location subsequent in sequential order to the first sector. Under such circumstances, the disc drive waits for the first sector to revolve under the transducer as the disc is rotating at a predetermined speed. Once the first sector arrives under the transducer, the data stored on the target area is transferred to the buffer for subsequent transfer to the host computer. Read latency is thus highly affected by the speed at which the disc is rotated and the landing distance of the transducer from the first sector. Indeed, if the transducer lands at the sector adjacent and subsequent to the first sector, the disc drive must wait one complete revolution prior to reading data, thereby maximizing read latency in the drive. A dramatic and constant increase in the bits per inch (BPI) and the tracks per inch (TPI) of disc surfaces further complicates disc drive designers"" attempts to minimize read latency.
Against this backdrop the present invention has been developed. The present invention is a process for reading data stored on a track of a rotating data storage disc upon arrival of a transducer to any sector on the track. A read command is issued by a host computer that requests retrieval of a particular data segment. The data segment is divided into a plurality of data blocks. The read command specifies a target sector storing the first data block of the data segment. In response to the command, a transducer is moved across the disc to the track and lands on a data sector. If the transducer lands on a data sector having a sequential address after the target sector, the process of the present invention reads data stored on the disc beginning with the landing sector and ending with a predetermined end sector. In accordance with one embodiment, the data sectors read from the landing sector to the end sector store a portion of the data segment requested by the read command as well as a portion of post-fetch data. In accordance with a second embodiment, the data sectors read from the landing sector to the end sector do not store a portion of the data segment requested by the read command, but rather store post-fetch data.
In accordance with an embodiment, the process of the present invention does not read data stored on sectors accessed by the transducer after the data block stored on the end sector is read until a predetermined index sector is rotated under the transducer. Starting with the predetermined index sector, the process reads the data block stored on each sector accessed by the transducer until the transducer accesses the data sector immediately preceding the landing sector. Thus, the data block stored on the target sector is read during this interim. In accordance with one embodiment, the predetermined index sector has a sequential address before the target sector and the data sectors read between the predetermined index sector and the target sector store pre-fetch data. In accordance with a second embodiment, the predetermined index sector is the target sector.
Embodiments of the invention may be implemented either manually or as a computer-readable program storage device which tangibly embodies a program of instructions executable by a computer system to transfer data from a track on a rotating disc to a buffer as a transducer lands on the track at a location subsequent to the target sector with respect to sequential ordering of the data sectors on the track.
These and various other features as well as advantages, which characterize the present invention, will be apparent from a reading of the following detailed description and a review of the associated drawings.